/*
*
==============================================================================
*  Name        : 
*  Part of     : Omen Game Engine - DirectX 10 Plugin
*  Description : 
*  Version     : 1.0
*
*  Copyright (c) 2013 Lauri Kortevaara.
* 
==============================================================================
*/

#pragma once

#ifndef _DirectX_10__PLUGIN_H_
#define _DirectX_10__PLUGIN_H_

#include "Config.h"
#include <IOmenKernel.h>

#include "DirectX_10_Renderer.h"
#include "DirectX_10_GraphicsDriver.h"
#include "DirectX_10_InputDriver.h"
#include "DirectX_10_ImageFileReader.h"

#include <iostream>

using namespace std;

namespace Omen {

    const bool FULL_SCREEN = false;
    const bool VSYNC_ENABLED = true;
    const float SCREEN_DEPTH = 1000.0f;
    const float SCREEN_NEAR = 0.1f;

    extern "C" Omen::IKernel* getKernel();

    extern "C" DIRECTX_10_PLUGIN_API int getEngineVersion(); /// <summary>Retrieve the engine version we're going to expect</summary>

    /// <summary>Register the plugin to an engine kernel</summary>
    /// <param name="kernel">Kernel the plugin will register to</summary>
    extern "C" DIRECTX_10_PLUGIN_API void registerPlugin(Omen::IKernel* kernel);

} // namespace Omen

#endif // _DirectX_10__PLUGIN_H_
